/**
 * 用户输入内容验证类
 */

// 是否为空
export const isEmpty = (str) => {
   return str.trim() == ''
}

/**
 * 匹配phone
 */
export const isPhone = (str) => {
   const reg = /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/
   return reg.test(str)
}

/**
 * 匹配phone
 */
export const isMobile = (str) => {
   const reg = /^(1[3456789]\d{9})$/
   return reg.test(str)
}

/**
 * 匹配Email地址
 */
export const isEmail = (str) => {
   if (str == null || str == "") return false
   var result = str.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/)
   if (result == null) return false
   return true
}

/**
 * 判断数值类型，包括整数和浮点数
 */
export const isNumber = (str) => {
   if (isDouble(str) || isInteger(str)) return true
   return false
}

/**
 * 判断是否为正整数(只能输入数字[0-9])
 */
export const isPositiveInteger = (str) => {
   return /(^[0-9]\d*$)/.test(str)
}

/**
 * 匹配integer
 */
export const isInteger = (str) => {
   if (str == null || str == "") return false
   var result = str.match(/^[-\+]?\d+$/)
   if (result == null) return false
   return true
}

/**
 * 匹配double或float
 */
export const isDouble = (str) => {
   if (str == null || str == "") return false
   var result = str.match(/^[-\+]?\d+(\.\d+)?$/)
   if (result == null) return false
   return true
}

/**
 * 判断价格和金额方法
 * @param {Object} _keyword
 */ 
export const isPriceNumber = (_keyword) => {
   if (_keyword == "0" || _keyword == "0." || _keyword == "0.0" || _keyword == "0.00") {
      _keyword = "0";
      return true;
   } else {
      var index = _keyword.indexOf("0");
      var length = _keyword.length;
      if (index == 0 && length > 1) {
         /*0开头的数字串*/
         var reg = /^[0]{1}[.]{1}[0-9]{1,2}$/;
         if (!reg.test(_keyword)) {
            return false;
         } else {
            return true;
         }
      } else {
         /*非0开头的数字*/
         var reg = /^[1-9]{1}[0-9]{0,10}[.]{0,1}[0-9]{0,2}$/;
         if (!reg.test(_keyword)) {
            return false;
         } else {
            return true;
         }
      }
      return false;
   }
}
